<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2015/10/26
 * Time: 11:06
 */
class device{
    public $common=array();
    public $service=array('三级单位','设备类型','设备名称','品牌','型号','设备状态','国网编号','备注','产权归属','出厂编号','出厂日期','运维责任人','机柜/机架号','IP','硬盘类型','硬盘容量(GB)','硬盘尺寸(英寸)','硬盘数量','挂接存储','网卡数','电源模块','额定功率(W)','设备编号','使用保管部门','设备存放地点','资产性质');
    public $pc=array('三级单位','设备类型','设备名称','品牌','型号','设备状态','备注','产权归属','出厂编号','出厂日期','运维责任人','IP','MAC地址','操作类型及版本号','硬盘容量(GB)','内存大小(M)','CPU型号','CPU主频(GHZ)','备案编号','设备编号','领用部门','领用人','设备存放地点','资产性质','所属网络');
    public $notebook=array('三级单位','设备类型','设备名称','品牌','型号','设备状态','备注','产权归属','出厂编号','出厂日期','领用部门','领用人','领用日期','运维责任人','IP','所属网络','MAC地址','操作类型及版本号','硬盘容量(GB)','内存大小(M)','CPU型号','CPU主频(GHZ)','CPU核数','备案编号','设备编号','设备存放地点','资产性质');
    public $battery=array('三级单位','设备类型','设备名称','品牌','型号','设备状态','产权归属','出厂编号','出厂日期','备注','设备存放地点');//蓄电池
    public $router=array('三级单位','设备类型','设备名称','品牌','型号','设备状态','备注','产权归属','出厂编号','出厂日期','机柜/机架号','IP','内存容量(M)','总插槽数','引擎板数','光口板数','电口板数','其他接口板情况','千兆单模光口','千兆多模光口','电源模块','备案编号','设备编号','设备存放地点');//路由器
    public $switchs=array('三级单位','设备类型','设备名称','品牌','型号','设备状态','备注','产权归属','出厂编号','出厂日期','机柜/机架号','IP','内存容量(M)','千兆单模光口','千兆多模光口','电源模块','备案编号','设备编号','设备存放地点');//交换器
    public $ups=array('三级单位','设备类型','设备名称','品牌','型号','设备状态','备注','产权归属','出厂编号','出厂日期','UPS容量(kva)','电池组数','电池类型','使用保管部门','设备存放地点');
    public $air=array('三级单位','设备类型','设备名称','品牌','型号','设备状态','备注','出厂编号','出厂日期','运维责任人','容量','类型','额定功率(KW)','使用保管部门','实物管理部门','设备存放地点');//空调
    public $prints=array('三级单位','设备类型','设备名称','品牌','型号','设备状态','备注','产权归属','出厂编号','出厂日期','领用部门','领用人','IP','类型','幅面大小','设备存放地点','资产性质');//打印机
    public $copys=array('三级单位','设备类型','设备名称','品牌','型号','设备状态','出厂日期','出厂编号','备注','产权归属','IP','类型','幅面大小','领用部门','领用人','设备存放地点','资产性质');//影印一体机
    public $scanner=array('三级单位','设备类型','设备名称','品牌','型号','设备状态','出厂日期','出厂编号','备注','产权归属','领用部门','领用人','设备存放地点','资产性质');//扫描仪
    public $status=array('','在运','未投运','库存备用','退役','现场留用');

    function get_list($table){
        $sql='select * from __'.$table.' order by id asc';
        return db::get_all($sql);
    }


    function get_one($table,$id){
        $sql='select id,name from __'.$table.' where id='.$id;
        return db::get_one($sql);
    }
    function get_type_list($table){
        $sql='select id,`name`,`table` from __'.$table.' order by id asc';
        return db::get_all($sql);
    }
    function get_type_one($id){
        $sql='select id,`name`,`table` from __device_type where id='.$id;
        return db::get_one($sql);
    }
    function get_type_one_name($name){
        $sql='select id,`name`,`table` from __device_type where name=\''.$name.'\'';
        return db::get_one($sql);
    }
    function get_id($table,$name){
        $sql='select id from __device_'.$table.' where name=\''.trim($name).'\'';
        $res=db::get_one($sql);
        if(!$res->id){
            db::_insert('device_'.$table,array('name'=>trim($name)));
            return db::last_id();
        }
        return $res->id;
    }
    function get_device_addon_fields($i){
        $sql='show FULL columns from __device_'.$i;
        return db::get_all($sql);
    }
    function get_device_fields(){
        $sql='show FULL columns from __device';
        return db::get_all($sql);
    }
    function tf_html($arr,$data='',$new_data=''){
        $html='';
        foreach($arr as $v){
            if($v->Key)continue;
            $field=$v->Field;
            $html.='<tr><td height="30" align="right"><p>'.$v->Comment.'：</p></td>
            <td>'.$this->get_html($v->Type,$v->Field,$data->$field,$new_data[$field]).'</td></tr>';
        }
        return $html;
    }
    function get_html($type,$field,$data='',$new_data=''){
        $type=substr($type,0,3);
        switch($type){
            case 'int':
            case 'dec':
            case 'tin':
            case 'sma':
            case 'cha':
            case 'var':
            return '<input class="input400" type="text" name="addon['.$field.']" placeholder="'.$data.'" value="'.$new_data.'" />';
        }
    }
    function get_arr_field($table){
        $arr=array();
        if($table) {
            $addon_fields = $this->get_device_addon_fields($table);
            foreach($addon_fields as $k =>$v){
                if($v->Comment)$arr[$v->Comment]=$v->Field;
            }
        }
        return $arr;
    }
    //获取附加表的一条内容
    function get_addon_one($type,$id,$obj='obj'){
        $sql='select * from __device_'.$type.' where device_id='.$id;
        return db::get_one($sql,$obj);
    }
    function get_new_mod($id){
        $sql = 'select dm.*,m.name from __device_mod dm left join __master m on dm.uid=m.masterid where dm.device_id=' . $id . ' order by dm.id desc limit 1';
        $new_mod = db::get_one($sql);
        if ($new_mod && $new_mod->status==0) {
            $new_mod->con = unserialize($new_mod->con);
            return $new_mod;
        }
        return false;
    }
    //判断是否重复
    function is_obj_id($obj_id){
        $sql='select id from __device where obj_id=\''.$obj_id.'\'';
        $row=db::get_one($sql);
        if($row->id)return true;
        return false;
    }
}